package com.nari.ncps.screen.service.electric;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nari.ncps.screen.vo.electric.FdComplateTrend;
import com.nari.ncps.screen.vo.electric.FdPlanCompletionStatus;
import com.nari.ncps.screen.vo.electric.FdPowerPlantSupplyComplateStatus;
import com.nari.ncps.screen.vo.wholeproduct.AnnualPowerGenerationVO;
import com.nari.ncps.screen.entity.electric.ElectricProdoperPowerGeneral;

import java.util.List;

/**
 * <p>
 * 发电情况详情表 服务类
 * </p>
 *
 * @author xuesong
 * @since 2025-08-23
 */
public interface ElectricProdoperPowerGeneralService extends IService<ElectricProdoperPowerGeneral> {


    /**
     * 发电计划完成情况
     * @param year
     * @param month
     * @return
     */
    FdPlanCompletionStatus fdPlanCompletionStatus(Integer year, Integer month);

    /**
     * 发电量完成趋势
     * @param year 年份
     * @return
     */
    List<FdComplateTrend> fdComplateTrend(Integer year);
    
    /**
     * 各个电厂供电完成情况
     * @param year 年份
     * @return 电厂供电完成情况列表
     */
    List<FdPowerPlantSupplyComplateStatus> fdPowerPlantSupplyComplateStatus(Integer year);

    /**
     * 获取年度发电完成情况（最近5年）
     * @return 年度发电完成情况列表
     */
    List<AnnualPowerGenerationVO> getAnnualPowerGeneration();

}